Skip to content

Conversation

@waveshare
Copy link

  1. add waveshare 13.3 inch panel support
  2. add 4lane support

10_1_inch 10.1" 1280x800
11_9_inch 11.9" 320x1480
13.3inch-30fps 13.3″ 1920x1080 2lane
13.3inch-60fps 13.3″ 1920x1080 4lane
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace the TABs with spaces, fix the indentation so it all lines up, and get the parameter names right!

<&touch>, "touchscreen-inverted-y?";
8_8_inch = <&panel>, "compatible=waveshare,8.8inch-panel";
13_3_60fps_inch = <&panel>, "compatible=waveshare,13.3inch-60fps-panel";
13_3_30fps_inch = <&panel>, "compatible=waveshare,13.3inch-30fps-panel";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These names look wrong - 13_3_inch_60fps and 13_3_inch_30fps make more sense.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I found the problem. I'm working on it.
I think it would be more appropriate to read 13_3_inch_4lane.

@waveshare
Copy link
Author

Wait a minute. It looks like some of the files haven't been updated yet.

@waveshare waveshare force-pushed the 13.3INCH branch 3 times, most recently from ddbe278 to 3a3cd0c Compare November 29, 2024 12:55
@waveshare
Copy link
Author

Changes have been completed. PTAL.

@pelwell
Copy link
Contributor

pelwell commented Nov 30, 2024

Fix the tabs again, then all the checkpatch errors and warnings (all of them look reasonable) and squash back down to 3 commits - driver, config and DT.

Copy link
Contributor

@6by9 6by9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a need for this new touch driver?

There is already https://github.com/torvalds/linux/blob/master/drivers/input/touchscreen/ilitek_ts_i2c.c which claims to be for the Ilitek 23XX, 25XX, and Lego chips. Which chip are you actually using on this display, and is it compatible?

module_i2c_driver(ilitek_touch_device_driver);

MODULE_AUTHOR("waveshare");
MODULE_DESCRIPTION("WS_xinchDSI_Touch Driver");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really? The copyright headers all list ILI Technology Corporation and Luca Hsu.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll check with my coworker that this TP driver came directly to us from our supplier

MODULE_DEVICE_TABLE(i2c, tpd_device_id);

const struct of_device_id touch_dt_match_table[] = {
{.compatible = "tchip,ilitek2" },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@6by9
Copy link
Contributor

6by9 commented Dec 2, 2024

I've just noticed that we already have an ilitek251x overlay in the tree using the ili210x driver that lists an ilitek,ili251x compatible.

I'd hope either ili210x or ilitek_ts_i2c would support your touch controller.

Copy link
Contributor

@6by9 6by9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the update - using the mainline drivers is always preferable to adding yet another downstream one.

I've made comment on one coding style issue that checkpatch will complain over. This is the sort of patch that does want to be sent upstream, so we will be quite strict over it. CI has now run checkpatch for this PR, so please fix the errors.

return error;
}
}
else{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space before the {

else{
timer_setup(&priv->poll_timer, ili210x_poll_timer_callback, 0);
mod_timer(&priv->poll_timer, jiffies + msecs_to_jiffies(ILI2XXX_POLL_PERIOD));
INIT_WORK(&priv->poll_work, ili210x_poll_work);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't cancel the workqueue or delete the timer on remove.
See 818bb6d for doing the same on edt-ft5x06(*).

In this case it probably wants to go into ili210x_stop though as they've avoided adding a remove function.

(*) Looking at it, I think the cancel_work_sync should come first.
Comparing to tc358743 which also has a polling option, that uses slightly different semantics again - there never is one clear option, and it needs careful thought over what triggers what.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for your valuable guidance on maintaining coding standards, especially for patches intended for upstream submission.I will promptly address the issues identified by checkpatch and correct the coding style problem you pointed out. Once the updates are complete, I will submit the revised version for further review.

@waveshare waveshare force-pushed the 13.3INCH branch 2 times, most recently from 4ef1f88 to c47be70 Compare December 5, 2024 09:26
@waveshare
Copy link
Author

Thank you for your feedback and guidance, the changes are as above, please feel free to let me know if further improvements are needed or additional testing is recommended.
I'm happy to make adjustments to ensure the patch meets upstream standards.

@pelwell
Copy link
Contributor

pelwell commented Dec 5, 2024

You keep repeating the same mistakes. Download overlaycheck from our utils repo (https://github.com/raspberrypi/utils/tree/master/overlaycheck) to get it right before submitting.

@waveshare
Copy link
Author

You keep repeating the same mistakes. Download overlaycheck from our utils repo (https://github.com/raspberrypi/utils/tree/master/overlaycheck) to get it right before submitting.

Ok, we will pay attention to this problem in the future

@waveshare
Copy link
Author

Already passed overlaycheck.image

@pelwell
Copy link
Contributor

pelwell commented Dec 5, 2024

Yes, this one is looking OK.

@6by9
Copy link
Contributor

6by9 commented Dec 5, 2024

Looks reasonable to me.

I'm not sure which order the ili210x_stop devm_action and the remove hook will be called in, and that could cause issues. Testing with sudo rmmod ili210x to confirm it doesn't crash, or better still adding a debug line in remove confirms that stop has already been set would be nice to know it's OK. However unloading modules is a rare enough thing that I'm not going to fuss.

@pelwell pelwell merged commit e442e5c into raspberrypi:rpi-6.6.y Dec 6, 2024
11 of 12 checks passed
@waveshare
Copy link
Author

Looks reasonable to me.

I'm not sure which order the ili210x_stop devm_action and the remove hook will be called in, and that could cause issues. Testing with sudo rmmod ili210x to confirm it doesn't crash, or better still adding a debug line in remove confirms that stop has already been set would be nice to know it's OK. However unloading modules is a rare enough thing that I'm not going to fuss.

Thank you for your suggestions! I tested unloading the module using sudo rmmod ili210x, and there were no crashes during the process. I also added a debug line in the remove function to confirm that stop had already been set. All tests ran smoothly without any issues.
image
I agree that unloading modules is not a common operation, so it’s unlikely to be a major concern in practice. Still, it’s good to have verified this just in case.

Thank you all again for taking the time to share your suggestions and insights!

popcornmix added a commit to raspberrypi/firmware that referenced this pull request Dec 10, 2024
kernel: Revert "PCI: Warn if no host bridge NUMA node info"
See: raspberrypi/linux#6531

kernel: drm/v3d: Enable Performance Counters before clearing them
See: raspberrypi/linux#6514

kernel: configs: Enable Intel Wireless (PCI) drivers
See: raspberrypi/linux#6526

kernel: media: i2c: ov9282: Correct the exposure offset
See: raspberrypi/linux#6522

kernel: waveshare panel driver update
See: raspberrypi/linux#6499

kernel: dtoverlays: Add Arducam override for ov9281
See: raspberrypi/linux#6506

kernel: nvme-pci: Disable Host Memory Buffer usage
See: raspberrypi/linux#6510

kernel: Allow setting I²C clock frequency via i2c_arm_baudrate dtparam when using pimidi overlay
See: raspberrypi/linux#6513
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Dec 10, 2024
kernel: Revert "PCI: Warn if no host bridge NUMA node info"
See: raspberrypi/linux#6531

kernel: drm/v3d: Enable Performance Counters before clearing them
See: raspberrypi/linux#6514

kernel: configs: Enable Intel Wireless (PCI) drivers
See: raspberrypi/linux#6526

kernel: media: i2c: ov9282: Correct the exposure offset
See: raspberrypi/linux#6522

kernel: waveshare panel driver update
See: raspberrypi/linux#6499

kernel: dtoverlays: Add Arducam override for ov9281
See: raspberrypi/linux#6506

kernel: nvme-pci: Disable Host Memory Buffer usage
See: raspberrypi/linux#6510

kernel: Allow setting I²C clock frequency via i2c_arm_baudrate dtparam when using pimidi overlay
See: raspberrypi/linux#6513
@waveshare waveshare deleted the 13.3INCH branch June 24, 2025 03:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants